// 引入
import { UserProfilesAPI } from "@/request/api"

export default {
    namespaced: true,
    state: {
        // 购物车的数量
        cartTotal: 10,
        // 用户信息
        userInfo: {
            headImg: require("../../assets/img/userImg.f8bbec5e.png"),
            nickName: "--",
            coin: "--"
        }
    },
    mutations: {
        // 改变数据
        updateUserInfo(state, payload) {
            state.cartTotal = payload.cartTotal;
            state.userInfo = payload.userInfo
        },
        // 还原默认值的方法
        initUserInfo(state) {
            state.cartTotal = 0;
            state.userInfo = {
                headImg: require("../../assets/img/userImg.f8bbec5e.png"),
                nickName: "--",
                coin: "--"
            }
        }
    },
    // actions: {
    //     // 异步请求数据的方法
    //     asyncUpdateUserInfo(context) {
    //         UserProfilesAPI().then(res => {
    //             // 更新购物车数量cartTotal和用户信息userInfo
    //             context.commit("updateUserInfo", res.data)
    //         });
    //     }
    // },

    // 简写
    actions: {
        // 异步请求数据的方法
        asyncUpdateUserInfo({ commit }) { // let {属性名} = 对象
            UserProfilesAPI().then(res => {
                console.log(res.data);
                // 更新购物车数量cartTotal和用户信息userInfo
                commit("updateUserInfo", res.data)
            });
        }
    }
}

// 什么位置需要渲染用户信息?
// 1.登陆成功(微信登录和手机号登录)的回调函数里面,调用asyncUpdateUserInfo().更新用户信息
// 2.加载TopBar组建的时候